#include "resource_api.h"

BOOL JOUI::Jo_UIzip_ReadSource(UIzip hRes, LPCWSTR lpname, LPVOID* retData, DWORD* uncompressed_size)
{
	auto lpRes = (UIZip*)hRes;
	if (lpRes)
		return lpRes->ReadSource(lpname, retData, uncompressed_size);
	return FALSE;
}

void JOUI::Jo_UIzip_EnumFile(UIzip hRes, LPCTSTR pszPath, EnumFileCallback funEnumCB, LPARAM lp)
{
	auto lpRes = (UIZip*)hRes;
	if (lpRes)
		lpRes->EnumFile(pszPath, funEnumCB, lp);
}

BOOL JOUI::Jo_UIzip_Free(UIzip hRes)
{
	auto lpRes = (UIZip*)hRes;
	if (lpRes)
	{
		delete lpRes;
		return TRUE;
	}
	return FALSE;
}

INT JOUI::Jo_UIzip_GetCount(UIzip hRes)
{
	auto lpRes = (UIZip*)hRes;
	if (lpRes)
		return lpRes->GetCount();
	return 0;
}

UIzip JOUI::Jo_UIzip_Loadfrommemory(LPVOID pBytes, size_t dwByteCounts, LPCSTR pszPsw)
{
	return new UIZip(pBytes, dwByteCounts, pszPsw);
}

UIzip JOUI::Jo_UIzip_Load(LPCSTR path, LPCSTR pszPsw)
{
	return new UIZip(path, pszPsw);
}

BOOL JOUI::Jo_UIreadRcSource(WORD lpname, LPCWSTR lpType, std::vector<CHAR>* retData)
{
	return UIZip::ReadRcSource(lpname, lpType, retData);
}
